#! /usr/bin/env bash

# 编译openh264

set -e

# 当前执行脚本所在的文件夹
SCRIPT_DIR=$(cd "$(dirname "$0")";
pwd)

TARGET=$1
SOURCE_REPO=$2
OUTPUT=${BUILD_DIR}/android/openh264-${TARGET}

cd ${SOURCE_REPO}

# 检测环境属性
. tools/do-detect-env.sh

# 目标平台
TARGET_API=${NDK_MIN_API}
# 配置参数
CFG_FLAGS=

# 根据生成目标配置参数
case ${TARGET} in

    armv5)
        CFG_FLAGS="$CFG_FLAGS TARGET=android-$TARGET_API ARCH=arm NDKLEVEL=$TARGET_API APP_ABI=armeabi "
    ;;

    armv7a)
        CFG_FLAGS="$CFG_FLAGS TARGET=android-$TARGET_API ARCH=arm NDKLEVEL=$TARGET_API "
    ;;

    arm64)
    # android-21或以上平台才支持64位
        TARGET_API=21
        CFG_FLAGS="$CFG_FLAGS TARGET=android-$TARGET_API ARCH=arm64 NDKLEVEL=$TARGET_API "
    ;;

    x86)
        CFG_FLAGS="$CFG_FLAGS TARGET=android-$TARGET_API ARCH=x86 NDKLEVEL=$TARGET_API "
    ;;

    x86_64)
    # android-21或以上平台才支持64位
        TARGET_API=21
        CFG_FLAGS="$CFG_FLAGS TARGET=android-$TARGET_API ARCH=x86_64 NDKLEVEL=$TARGET_API "
    ;;

    *)
        echo "openh264: 不支持编译'$TARGET'目标"
        exit 1
    ;;

esac

echo CFG_FLAGS=${CFG_FLAGS}

make OS=android NDKROOT=${ANDROID_NDK} ${CFG_FLAGS} clean
make PREFIX=${OUTPUT} OS=android NDKROOT=${ANDROID_NDK} ${CFG_FLAGS} libraries install-static